package org.zjx.data.screen;

import org.zjx.command.entity.screen.*;
import org.zjx.data.BaseSceneBuilder;

import java.awt.*;

public class BeiJuLuZhouSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "北俱芦洲";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(227, 168);
    }

    @Override
    protected void addMonsters() {
        monsters.add("麒麟");
        monsters.add("黑山老妖");
    }

    @Override
    protected void addNpcs() {
        // 添加北俱芦洲NPC
        addNpc("北俱芦洲土地", new Point(195, 105));
        addNpc("地遁鬼", new Point(195, 5));
        addNpc("驿站老板", new Point(47, 119));
        addNpc("北俱商人", new Point(168, 39));
        addNpc("北俱货商", new Point(161, 118));
        addNpc("江湖奸商", new Point(106, 110));
        addNpc("龙女妹妹", new Point(133, 98));
        addNpc("雷鸟精", new Point(67, 140));
        addNpc("莽汉", new Point(34, 30));
        addNpc("青琉璃", new Point(204, 133));
        addNpc("翻天怪", new Point(135, 35));
        addNpc("白熊怪", new Point(186, 82));
        addNpc("超级巫医", new Point(21, 59));
        addNpc("传送女娲", new Point(14, 156));
    }

    @Override
    protected void addRooms() {
        // 北俱芦洲没有房间，保持空实现
    }

    @Override
    protected void addTeleports() {
        // 添加场景传送点
        addSceneTeleport(new Point(195, 7), "长寿郊外", new Point(63, 67), new Point(199, 10));
        addSceneTeleport(new Point(14, 82), "龙窟一层", new Point(151, 5), new Point(8, 83));
        addSceneTeleport(new Point(82, 149), "凤巢一层", new Point(78, 66), new Point(81, 150));

        // 添加NPC传送点
        addNpcTeleport("北俱芦洲土地", new Point(191, 105), "花果山", new Point(30, 96), new Point(195, 105));
        addNpcTeleport("传送女娲", new Point(18, 156), "女娲神迹", new Point(40, 31), new Point(14, 156));
    }

    public static void main(String[] args) {
        BeiJuLuZhouSceneBuilder builder = new BeiJuLuZhouSceneBuilder();
        builder.execute("beijuluzhou_scene.json", "北俱芦洲");
    }
}